package com.wing.purchase.model.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wing.mybatis.common.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;

/**
 * 领料计划明细
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("pur_purchase_plan_detail")
public class PurchasePlanDetail extends BaseEntity<PurchasePlanDetail> implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 产品skuCode
     */
    private String skuCode;

    /**
     * 物料id
     */
    private Long productDetailId;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 规格型号
     */
    private String specifications;

    /**
     * 计量单位
     */
    private String unitName;

    /**
     * 产品分类
     */
    private String productCategory;

    /**
     * 产品分类名称
     */
    @TableField(exist = false)
    private String productCategoryName;

    /**
     * 采购数量
     */
    private BigDecimal purchaseNumber;

    /**
     * 使用地点
     */
    private String useAddress;

    /**
     * 上次更换时间
     */
    private String lastChangeTime;

    /**
     * 采购计划id
     */
    private Long planId;

    /**
     * 是否领料出库
     */
    private Boolean hasOutbound;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 库存
     */
    @TableField(exist = false)
    private BigDecimal haveQuantity;

    /**
     * 最新成本
     */
    @TableField(exist = false)
    private BigDecimal currentCostPrice;

    /**
     * 主单位
     */
    @TableField(exist = false)
    private Long mainUnitId;

    /**
     * 主单位名称
     */
    @TableField(exist = false)
    private String mainUnitName;

}
